import {
  AlphaIcCnRegExp,
  AlphaNumberIcCnRegExp,
  AlphaNumberIcRegExp,
  EmailRegExp,
  FixphoneRegExp,
  IdCardValidator,
  IntegerRegExp,
  Ipv4RegExp,
  Ipv6RegExp,
  LettersRegExp,
  MobileRegExp,
  NatureIntegerRegExp,
  PathRegExp,
  PortRegExp,
  PositiveIntegerRegExp,
  PostRegExp,
  TelphoneRegExp,
  UniscidRegExp,
  UrlRegExp,
  XssValidator,
} from '@szzj/utils';

/** 英文字母、下划线、中文 */
export var alphaIcCn = {
  pattern: AlphaIcCnRegExp,
  message: '请输入英文字母、下划线、中文',
};

/** 英文字母、数字、下划线、中文 */
export var alphaNumberIcCn = {
  pattern: AlphaNumberIcCnRegExp,
  message: '请输入英文字母、数字、下划线、中文',
};

/** 英文字母、数字、下划线 */
export var alphaNumberIc = {
  pattern: AlphaNumberIcRegExp,
  message: '请输入英文字母、数字、下划线',
};

/** 仅限字母 */
export var letters = {
  pattern: LettersRegExp,
  message: '请输入正确的字母',
};

/** 正负数 */
export var integer = {
  pattern: IntegerRegExp,
  message: '请输入正数或负数',
};

/** 自然数 */
export var natureInteger = {
  pattern: NatureIntegerRegExp,
  message: '请输入正确的自然数',
};

/** 正整数 */
export var positiveInteger = {
  pattern: PositiveIntegerRegExp,
  message: '请输入正确的正整数',
};

/** 邮箱 */
export var email = {
  pattern: EmailRegExp,
  message: '请输入正确的邮箱',
};

/** 身份证 */
export var idCard = {
  validator: IdCardValidator,
};

/** ipv4 */
export var ipv4 = {
  pattern: Ipv4RegExp,
  message: '请输入正确的ipv4地址',
};

/** ipv6 */
export var ipv6 = {
  pattern: Ipv6RegExp,
  message: '请输入正确的ipv6地址',
};

/** 端口号 */
export var port = {
  pattern: PortRegExp,
  message: '请输入正确的端口号',
};

/** 链接 */
export var url = {
  pattern: UrlRegExp,
  message: '请输入正确的链接地址',
};

/** api请求路径 */
export var path = {
  pattern: PathRegExp,
  message: '请输入正确的请求路径',
};

/** 邮政编码 */
export var post = {
  pattern: PostRegExp,
  message: '请输入正确的邮政编码',
};

/** 固定电话 */
export var fixphone = {
  pattern: FixphoneRegExp,
  message: '请输入正确的固定电话',
};

/** 国内手机号 */
export var mobileCn = {
  pattern: MobileRegExp,
  message: '请输入正确的国内手机号',
};

/** 国内手机号或固定电话 */
export var telephone = {
  pattern: TelphoneRegExp,
  message: '请输入正确的国内手机号或固定电话',
};

/** 统一社会信用代码 */
export var uniscid = {
  pattern: UniscidRegExp,
  message: '请输入正确的统一社会信用代码',
};

/** xss 攻击 */
export var xss = {
  validator: XssValidator,
};
